var a = 'hello world';
var b = 10;

switch (true) {
	case (a || b == 10):
		// 永远不会执行到这里
		break;
	default:
		console.log('default');
}
/**
 * 分析：
 * 	(a || b == 10) 结果为 'hello world'，而非true，所有严格相等比较不成立。
 * 解决办法：
 * !!(a || b == 10)
 */

/**
 * 从上面代码引出一个新的问题，逻辑运算符和比较运算符的优先级问题？
 * 查询资料得到结果，比较操作符的优先级要高于逻辑操作符。
 *
 * 因此上面的结果会先执行 b == 10 然后再将结果与 a 进行 || 逻辑。
 * 所以结果为 'hello world'
 */